// 表单验证工具函数
export const validateUsername = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入用户名"))
  } else if (value.length < 2 || value.length > 50) {
    callback(new Error("用户名长度在 2 到 50 个字符"))
  } else if (!/^[a-zA-Z0-9_]+$/.test(value)) {
    callback(new Error("用户名只能包含字母、数字和下划线"))
  } else {
    callback()
  }
}

export const validatePassword = (isEdit) => {
  return (rule, value, callback) => {
    if (!isEdit && !value) {
      callback(new Error("请输入密码"))
    } else if (value && (value.length < 6 || value.length > 100)) {
      callback(new Error("密码长度在 6 到 100 个字符"))
    } else {
      callback()
    }
  }
}

export const validateEmail = (rule, value, callback) => {
  if (value && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
    callback(new Error("请输入正确的邮箱格式"))
  } else {
    callback()
  }
}

export const validatePhone = (rule, value, callback) => {
  if (value && !/^1[3-9]\d{9}$/.test(value)) {
    callback(new Error("请输入正确的手机号格式"))
  } else {
    callback()
  }
}
